COBOL এ সূচকিত ফাইলস (Indexed Files in COBOL)
Indexed Files বা সূচকিত ফাইলস COBOL এ এমন ধরনের ফাইল যেখানে প্রতিটি রেকর্ডের জন্য একটি সূচক (Index) ব্যবহার করা হয়, যার মাধ্যমে নির্দিষ্ট রেকর্ড দ্রুত খুঁজে পাওয়া যায়। Indexed files সাধারণত বড় ডেটাবেসে ব্যবহৃত হয়, যেখানে দ্রুত রেকর্ড খোঁজা বা আপডেট করা প্রয়োজন। COBOL এ সূচকিত ফাইলগুলোর সাথে কাজ করতে INDEXED BY এবং ACCESS MODE এর মতো কনসেপ্ট ব্যবহার করা হয়।
সূচকিত ফাইলের বৈশিষ্ট্য
- সূচক: সূচক (Index) হল একটি বিশেষ ডেটা স্ট্রাকচার যা ফাইলের প্রতিটি রেকর্ডের জন্য একটি নির্দিষ্ট কী (key) বা নির্দেশিকা তৈরি করে। সূচকের মাধ্যমে নির্দিষ্ট রেকর্ড দ্রুত খুঁজে পাওয়া যায়, কারণ সূচকটি রেকর্ডের অবস্থান বা লুকেশন ট্র্যাক করে।
- বৃহৎ ডেটা সেট: Indexed files সাধারণত বড় ডেটাসেট যেখানে রেকর্ডের সংখ্যা অনেক বেশি হয়, সেগুলিতে ব্যবহৃত হয়। এই ধরনের ফাইলের মধ্যে দ্রুত অনুসন্ধান এবং আপডেট কার্যক্রম করা সম্ভব হয়।
- দ্রুত অ্যাক্সেস: সূচক ব্যবহার করার মাধ্যমে রেকর্ডের অবস্থান খুঁজে পাওয়ার জন্য কম সময় লাগে এবং ডেটা রিড/রাইট অপারেশন দ্রুত হয়।
Indexed File তৈরি করা
COBOL এ Indexed File ব্যবহার করার জন্য FILE SECTION এবং DATA DIVISION এ ফাইলের কাঠামো এবং সূচকের তথ্য সংজ্ঞায়িত করতে হয়। INDEXED BY ক্লজ ব্যবহার করে সূচক এবং ফাইলের ধরন নির্ধারণ করা হয়।
সিনট্যাক্স:
DATA DIVISION.
FILE SECTION.
FD file-name.
01 record-name.
05 field-name1 PIC X(20).
05 field-name2 PIC 9(5).
...
INDEXED BY index-name.এখানে:
- FD (File Description) দিয়ে ফাইলের ধরন নির্ধারণ করা হয়।
- INDEXED BY ক্লজের মাধ্যমে সূচক (Index) সংজ্ঞায়িত করা হয়।
Indexed File এর উদাহরণ
ধরা যাক, একটি সূচকিত ফাইল তৈরি করতে চাচ্ছি যেখানে গ্রাহকের তথ্য থাকবে এবং আমরা গ্রাহকের ID এর মাধ্যমে দ্রুত তথ্য খুঁজে বের করতে চাই।
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
INDEXED BY CUSTOMER-INDEX.
WORKING-STORAGE SECTION.
01 EOF-FLAG PIC X VALUE 'N'.
PROCEDURE DIVISION.
OPEN INPUT CUSTOMER-FILE.
READ CUSTOMER-FILE INTO CUSTOMER-RECORD
AT END
MOVE 'Y' TO EOF-FLAG
NOT AT END
DISPLAY 'Customer ID: ' CUSTOMER-ID
DISPLAY 'Customer Name: ' CUSTOMER-NAME
END-READ.
CLOSE CUSTOMER-FILE.এখানে:
- CUSTOMER-FILE নামক সূচকিত ফাইল সংজ্ঞায়িত করা হয়েছে, যেখানে CUSTOMER-ID এর ভিত্তিতে রেকর্ড অ্যাক্সেস করা যাবে।
- INDEXED BY CUSTOMER-INDEX দিয়ে সূচক সংজ্ঞায়িত করা হয়েছে, যার মাধ্যমে রেকর্ড খোঁজা বা অ্যাক্সেস করা হবে।
Indexed File এ রেকর্ড অ্যাক্সেস করা
COBOL এ Indexed File থেকে রেকর্ড অ্যাক্সেস করার জন্য READ স্টেটমেন্ট ব্যবহার করা হয় এবং INDEXED BY ক্লজে সূচক ব্যবহার করা হয়। START স্টেটমেন্টটি সূচকিত ফাইলের মধ্যে একটি নির্দিষ্ট রেকর্ডের দিকে সূচক সেট করতে ব্যবহৃত হয়।
উদাহরণ:
START CUSTOMER-FILE KEY IS CUSTOMER-ID
INVALID KEY
DISPLAY 'Customer ID not found'
NOT INVALID KEY
READ CUSTOMER-FILE INTO CUSTOMER-RECORD
DISPLAY 'Customer ID: ' CUSTOMER-ID
DISPLAY 'Customer Name: ' CUSTOMER-NAME
END-READ
END-START.এখানে:
- START স্টেটমেন্টটি সূচকিত ফাইলের মধ্যে CUSTOMER-ID এর মান দিয়ে রেকর্ড খোঁজে।
- INVALID KEY শর্তটি চেক করে যদি রেকর্ড না পাওয়া যায়, তবে একটি মেসেজ দেখানো হয়।
Indexed File এ ডেটা লিখা
WRITE স্টেটমেন্ট ব্যবহার করে Indexed File এ নতুন ডেটা লেখা হয়। যখন WRITE স্টেটমেন্ট ব্যবহার করা হয়, ফাইলের নতুন রেকর্ডটি ফাইলের শেষে যুক্ত হবে।
উদাহরণ:
OPEN OUTPUT CUSTOMER-FILE.
MOVE 10001 TO CUSTOMER-ID
MOVE 'John Doe' TO CUSTOMER-NAME
MOVE 30 TO CUSTOMER-AGE
WRITE CUSTOMER-RECORD.
CLOSE CUSTOMER-FILE.এখানে, WRITE স্টেটমেন্টটি CUSTOMER-RECORD ফাইলের মধ্যে একটি নতুন রেকর্ড হিসেবে যোগ করবে।
Indexed File এ রেকর্ড আপডেট করা
COBOL এ Indexed File এর রেকর্ড আপডেট করতে REWRITE স্টেটমেন্ট ব্যবহার করা হয়, যা পূর্বের রেকর্ডটি মুছে দিয়ে নতুন রেকর্ড লেখে।
উদাহরণ:
START CUSTOMER-FILE KEY IS CUSTOMER-ID
INVALID KEY
DISPLAY 'Customer ID not found'
NOT INVALID KEY
READ CUSTOMER-FILE INTO CUSTOMER-RECORD
MOVE 35 TO CUSTOMER-AGE
REWRITE CUSTOMER-RECORD
END-START.এখানে, REWRITE স্টেটমেন্টটি CUSTOMER-RECORD এর মধ্যে CUSTOMER-AGE আপডেট করে।
সারসংক্ষেপ
COBOL এ Indexed Files ডেটার দ্রুত অ্যাক্সেস এবং অনুসন্ধানের জন্য অত্যন্ত কার্যকরী। সূচক ব্যবহারের মাধ্যমে আমরা একটি নির্দিষ্ট কী (key) এর মাধ্যমে ফাইলের রেকর্ডগুলোকে দ্রুত অ্যাক্সেস করতে পারি। COBOL এ Indexed File ব্যবহারের জন্য INDEXED BY এবং START, READ, WRITE, REWRITE স্টেটমেন্টগুলি ব্যবহার করা হয়। Indexed File ডেটাবেস ম্যানেজমেন্ট এবং বড় ডেটাসেটের জন্য খুবই উপযোগী।
Indexed Files এর ধারণা এবং প্রয়োজনীয়তা
Indexed Files এমন একটি ফাইল টাইপ যেখানে ডেটা একটি সূচক (index) ব্যবহার করে অ্যাক্সেস করা হয়। এর মাধ্যমে আমরা খুব দ্রুত নির্দিষ্ট ডেটা রেকর্ড খুঁজে বের করতে পারি, কারণ সূচক ব্যবহারের মাধ্যমে নির্দিষ্ট রেকর্ডের অবস্থান সহজেই জানা যায়। COBOL প্রোগ্রামিং ভাষায় Indexed Files সাধারণত ব্যবহৃত হয় যেখানে ডেটা দ্রুত খোঁজা এবং অ্যাক্সেস করার প্রয়োজন হয়।
এতে ডেটার মধ্যে একাধিক index তৈরি করা হয়, এবং প্রতিটি index একটি নির্দিষ্ট রেকর্ডের সাথে সম্পর্কিত হয়। ফলে, আমরা যেকোনো রেকর্ডকে দ্রুত এবং সঠিকভাবে খুঁজে পেতে পারি।
Indexed Files এর গঠন
COBOL-এ Indexed Files তৈরি করতে ACCESS MODE এবং ORGANIZATION IS INDEXED ব্যবহার করা হয়। Indexed ফাইলের ডেটা অ্যাক্সেস করার জন্য একটি সূচক ব্যবহৃত হয়, যা ডেটার অবস্থান নির্দেশ করে। এতে সাধারণত Primary Key বা Index Key ব্যবহার করা হয় যা নির্দিষ্ট রেকর্ডকে সনাক্ত করতে সহায়ক।
Sintax:
SELECT file-name ASSIGN TO 'file-path'
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS record-key
FILE STATUS IS file-status.এখানে:
- file-name: ফাইলের নাম।
- ORGANIZATION IS INDEXED: এটি ফাইলটি ইনডেক্সড ফাইল হিসেবে সংজ্ঞায়িত করে।
- RECORD KEY: এটি ফাইলের প্রাথমিক কী বা ইনডেক্স কী নির্দেশ করে।
- ACCESS MODE IS DYNAMIC: এটি ডেটার অ্যাক্সেসের পদ্ধতি (যেমন, রেকর্ডে যোগ করা বা সংশোধন করা) নির্দেশ করে।
Indexed Files এর প্রয়োজনীয়তা
- দ্রুত ডেটা অ্যাক্সেস: Indexed ফাইল ব্যবহার করে ডেটার অ্যাক্সেস অনেক দ্রুত করা যায়। যখন ডেটা খুব বড় হয় এবং তার মধ্যে থেকে একটি নির্দিষ্ট রেকর্ড খুঁজে বের করতে হয়, তখন ইনডেক্সড ফাইলের মাধ্যমে সহজেই এটি করা সম্ভব। এর মধ্যে Primary Key বা Index Key রেকর্ডের অবস্থান নির্ধারণ করে, যা ডেটার অ্যাক্সেসিং খুব দ্রুত করে তোলে।
- এফিসিয়েন্ট অনুসন্ধান (Efficient Searching): Indexed ফাইলগুলি ডেটা খোঁজার ক্ষেত্রে সাধারণ সিকোয়েন্সিয়াল ফাইলের তুলনায় অনেক দ্রুত। একে আমরা Direct Access File বলতে পারি। Indexed ফাইলের মধ্যে ইনডেক্স ব্যবহারের মাধ্যমে প্রতিটি রেকর্ডের জন্য নির্দিষ্ট স্থানে দ্রুত অ্যাক্সেস করা সম্ভব হয়।
- ডেটা ম্যানিপুলেশন: Indexed ফাইলের মাধ্যমে ডেটা সহজে পরিবর্তন, আপডেট বা মুছে ফেলা যেতে পারে। যখন কোনো নির্দিষ্ট রেকর্ডের উপর কাজ করতে হয়, তখন ইনডেক্সড ফাইল ব্যবহার করা অত্যন্ত সুবিধাজনক। উদাহরণস্বরূপ, যদি কোনো নির্দিষ্ট গ্রাহককে আপডেট করতে হয়, তাহলে সেই গ্রাহকের প্রাথমিক কী দ্বারা ইনডেক্স থেকে দ্রুত অ্যাক্সেস করা যায়।
- ডেটা সংরক্ষণে নমনীয়তা: Indexed ফাইলগুলি বিভিন্ন ধরণের ডেটা সংরক্ষণে ব্যবহার করা যায়, যেখানে রেকর্ডগুলোর নির্দিষ্ট ক্রম বা সম্পর্ক খুবই গুরুত্বপূর্ণ। যেমন, Customer Database, Product Catalog ইত্যাদি ক্ষেত্রে Indexed ফাইল ব্যবহৃত হতে পারে।
- ডেটাবেস সিস্টেমের জন্য উপযোগী: Indexed ফাইল সাধারণত ডেটাবেস সিস্টেমে ব্যবহৃত হয় যেখানে ডেটার সম্পর্ক নির্ধারণ এবং দ্রুত অ্যাক্সেসের প্রয়োজন হয়। একটি ডেটাবেসের জন্য ইনডেক্সড ফাইল একটি কার্যকরী সমাধান হতে পারে, কারণ এতে ডেটা দ্রুত অ্যাক্সেস করা যায় এবং কার্যকারিতা বৃদ্ধি পায়।
Indexed Files এর উদাহরণ
ধরা যাক, আমাদের একটি Customer Information ফাইল রয়েছে, যেখানে প্রতিটি গ্রাহককে একটি নির্দিষ্ট Customer ID দ্বারা চিহ্নিত করা হয়েছে। এই Customer ID ফিল্ডটিই ইনডেক্স হিসেবে ব্যবহৃত হবে। তাই, আমরা যে কোনো গ্রাহকের তথ্য দ্রুত খুঁজে বের করতে পারব Customer ID দ্বারা।
SELECT CustomerFile ASSIGN TO 'CUSTOMER.DAT'
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS CustomerID
FILE STATUS IS FileStatus.এখানে, CustomerID হচ্ছে রেকর্ড কী, যা ফাইলের প্রতিটি রেকর্ডের জন্য একটি সূচক হিসেবে কাজ করবে।
Indexed Files এর সুবিধা
- দ্রুত অনুসন্ধান এবং অ্যাক্সেস: ইনডেক্স ব্যবহারের মাধ্যমে ডেটার অ্যাক্সেসের গতি উল্লেখযোগ্যভাবে বাড়ানো যায়।
- স্কেলেবিলিটি: যখন ডেটার পরিমাণ বাড়ে, তখন Indexed ফাইলটি তার কার্যকারিতা বজায় রাখে, যা সিকোয়েন্সিয়াল ফাইলের তুলনায় অনেক বেশি কার্যকর।
- ডেটার সন্নিবেশ ও সংশোধন: Indexed ফাইল ব্যবহার করে দ্রুত ডেটা সন্নিবেশ বা সংশোধন করা যেতে পারে।
সারসংক্ষেপ
Indexed Files হল এমন ফাইল যেখানে ডেটা index বা key ব্যবহার করে অ্যাক্সেস করা হয়, যা ডেটার অবস্থানকে চিহ্নিত করে। এতে ডেটা দ্রুত খোঁজা এবং অ্যাক্সেস করা সম্ভব, এবং ডেটার মান পরিবর্তন বা সংশোধনও দ্রুতভাবে করা যায়। COBOL-এ Indexed Files ব্যবহার করে আপনি বড় ডেটাবেস বা ডেটা সংগ্রহে কার্যকরী এবং দ্রুত অ্যাক্সেস পেতে পারেন। এটি ডেটার কার্যকরী সংরক্ষণ, অ্যাক্সেস এবং ম্যানিপুলেশনের জন্য অপরিহার্য একটি টুল।
COBOL-এ SELECT এবং ASSIGN ক্লজ এর মাধ্যমে Indexed Files ডিক্লারেশন
COBOL-এ Indexed Files ডেটা ফাইলগুলি ব্যবহারকারীর জন্য একটি দ্রুত এবং কার্যকরী পদ্ধতি প্রদান করে যেখানে ফাইলের মধ্যে ডেটা দ্রুত অ্যাক্সেস করা যায়। SELECT এবং ASSIGN ক্লজগুলি Indexed Files ডিক্লেয়ার করার সময় ব্যবহৃত হয়। এগুলি ফাইলের শর্ত এবং তার সাথে সম্পর্কিত অ্যাক্সেস পদ্ধতি নির্ধারণ করে।
COBOL-এ Indexed Files সাধারণত INDEXED BY ক্লজ ব্যবহার করে ডিফাইন করা হয়, যা ফাইলের মধ্যে ডেটা নির্দিষ্ট ইন্ডেক্সের মাধ্যমে অ্যাক্সেস করা সম্ভব করে।
SELECT ক্লজ
COBOL-এ SELECT ক্লজটি ফাইলের জন্য একটি লজিক্যাল নাম ডিফাইন করার জন্য ব্যবহৃত হয় এবং এটি ফাইলের ধরন নির্ধারণ করে।
Syntax:
SELECT file-name ASSIGN TO physical-file-name
ORGANIZATION IS INDEXED
ACCESS MODE IS SEQUENTIAL
RECORD KEY IS record-key
FILE STATUS IS file-status-variable.file-name: লজিক্যাল নাম যা ফাইলের সাথে সম্পর্কিত।physical-file-name: ফাইলের শারীরিক অবস্থান বা স্থান (যেমন ফাইলের পথ বা নাম)।ORGANIZATION IS INDEXED: ফাইলের ধরন নির্ধারণ করে (এখানে এটি Indexed ফাইল হিসেবে ডিফাইন করা হয়েছে)।ACCESS MODE IS SEQUENTIAL: এটি ফাইলের ডেটা অ্যাক্সেস করার পদ্ধতি (এটি Sequential বা Random হতে পারে)।RECORD KEY IS record-key: এটি ফাইলের রেকর্ডের কী বা ইন্ডেক্স ফিল্ড।FILE STATUS IS file-status-variable: ফাইলের স্টেটাস বা তার অবস্থা (যেমন, ফাইল খোলা, বন্ধ ইত্যাদি)।
ASSIGN ক্লজ
ASSIGN ক্লজটি ফাইলের শারীরিক অবস্থান নির্ধারণ করে এবং এই ক্লজের মাধ্যমে আপনি ফাইলটি সিস্টেম বা ডিভাইসে অ্যাসাইন করতে পারেন।
Syntax:
ASSIGN TO 'file-path''file-path': এখানে ফাইলের সঠিক অবস্থান বা পাথ উল্লেখ করা হয়, যেমনC:\data\indexfile.datঅথবাindexfile.dat।
Indexed File ডিক্লারেশন উদাহরণ
উদাহরণ ১: Indexed File ডিক্লারেশন এবং অ্যাক্সেস পদ্ধতি
SELECT CUSTOMER-FILE ASSIGN TO 'CUSTFILE.DAT'
ORGANIZATION IS INDEXED
ACCESS MODE IS RANDOM
RECORD KEY IS CUSTOMER-ID
FILE STATUS IS FILE-STATUS.ব্যাখ্যা:
- এখানে
CUSTOMER-FILEএকটি Indexed ফাইল হিসেবে ডিফাইন করা হয়েছে। ASSIGN TO 'CUSTFILE.DAT'দ্বারা ফাইলের শারীরিক অবস্থান দেওয়া হয়েছে।ORGANIZATION IS INDEXEDদ্বারা ফাইলের আর্কিটেকচার Indexed ফাইল হিসেবে চিহ্নিত করা হয়েছে।ACCESS MODE IS RANDOMদ্বারা ফাইলের মধ্যে Random Access অনুমোদিত করা হয়েছে (এটি Indexed File এর জন্য সাধারণ পদ্ধতি)।RECORD KEY IS CUSTOMER-IDদ্বারাCUSTOMER-IDফিল্ডটি ফাইলের রেকর্ড কী বা ইনডেক্স হিসেবে ব্যবহার করা হচ্ছে।FILE STATUS IS FILE-STATUSদ্বারা ফাইলের অবস্থা নির্ধারণ করা হচ্ছে, যাতে ফাইল অপারেশন চলাকালে যে কোনো ত্রুটি সম্পর্কে জানা যাবে।
Indexed File এর সাথে ডেটা ম্যানিপুলেশন
Indexed Files সাধারণত READ, WRITE, REWRITE, এবং DELETE অপারেশনগুলোর জন্য ব্যবহৃত হয়, এবং এগুলি Indexed Access Mode ব্যবহার করে দ্রুত ডেটা অ্যাক্সেস করতে সহায়তা করে।
উদাহরণ ২: Indexed File এ রেকর্ড পড়া
01 CUSTOMER-ID PIC 9(5).
01 CUSTOMER-NAME PIC X(30).
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(5).
05 CUSTOMER-NAME PIC X(30).
PROCEDURE DIVISION.
OPEN I-O CUSTOMER-FILE
MOVE 12345 TO CUSTOMER-ID
READ CUSTOMER-FILE
INVALID KEY
DISPLAY 'Record not found'
NOT INVALID KEY
DISPLAY 'Record found: ' CUSTOMER-NAME
CLOSE CUSTOMER-FILE.
STOP RUN.ব্যাখ্যা:
- এই উদাহরণে
READ CUSTOMER-FILEব্যবহার করা হয়েছে, যেখানে ফাইলের মধ্যেCUSTOMER-IDএর মাধ্যমে ডেটা অ্যাক্সেস করা হচ্ছে। INVALID KEYচেক করছে যে রেকর্ড পাওয়া গেছে কিনা।
Indexed File এর ক্ষেত্রে ভিন্ন ACCESS MODE
Indexed File-এ ACCESS MODE পরিবর্তন করে বিভিন্ন অপারেশন করা যেতে পারে:
- SEQUENTIAL: ফাইলের ডেটা একে একে পড়া বা লেখা। এটি Indexed File এর জন্য কম ব্যবহৃত হয়, তবে Sequential File এর জন্য বেশি উপযুক্ত।
- RANDOM: একটি নির্দিষ্ট রেকর্ডের কী বা ইনডেক্স ব্যবহার করে দ্রুত রেকর্ড অ্যাক্সেস করা।
- DYNAMIC: রেকর্ডগুলি যে কোনো সিরিয়াল বা র্যান্ডম অ্যাক্সেস পদ্ধতিতে পাওয়া যায়।
সারসংক্ষেপ
| অপারেশন | বর্ণনা |
|---|---|
| SELECT | ফাইলের লজিক্যাল নাম, শারীরিক অবস্থান, ফাইলের আর্কিটেকচার এবং কন্ট্রোল অপশন নির্ধারণ করে। |
| ASSIGN | ফাইলের শারীরিক অবস্থান বা পাথ নির্ধারণ করে, যেমন ফাইল সিস্টেম বা ডিভাইস। |
| Indexed File | Indexed Files ডেটা দ্রুত অ্যাক্সেস করতে সাহায্য করে, যেখানে রেকর্ড কী বা ইনডেক্স ব্যবহৃত হয়। |
Indexed Files COBOL-এ ডেটার দ্রুত অ্যাক্সেস ও ম্যানিপুলেশনের জন্য একটি কার্যকরী পদ্ধতি, যা SELECT এবং ASSIGN ক্লজের মাধ্যমে ডিক্লেয়ার করা হয়। এটি ডেটার র্যান্ডম অ্যাক্সেসের জন্য উপযুক্ত, বিশেষ করে যখন ডেটার মধ্যে দ্রুত অনুসন্ধান এবং আপডেট প্রয়োজন হয়।
Indexed Files এ READ, WRITE, REWRITE এবং DELETE এর ব্যবহার
Indexed Files COBOL প্রোগ্রামিং ভাষায় একটি গুরুত্বপূর্ণ ফাইল প্রক্রিয়াকরণ কৌশল। এটি ডেটা দ্রুত খুঁজে বের করার জন্য একটি ইনডেক্স তৈরি করে, যার মাধ্যমে ফাইলের নির্দিষ্ট রেকর্ডগুলো দ্রুত অ্যাক্সেস করা যায়। COBOL-এ READ, WRITE, REWRITE এবং DELETE স্টেটমেন্টগুলি Indexed Files-এর মধ্যে ডেটা প্রক্রিয়াকরণ করার জন্য ব্যবহৃত হয়। নিচে এই চারটি স্টেটমেন্টের ব্যবহার এবং এর উদাহরণগুলো দেওয়া হলো।
১. READ স্টেটমেন্ট
READ স্টেটমেন্ট ব্যবহার করা হয় একটি Indexed File থেকে রেকর্ড পড়ার জন্য। আপনি READ স্টেটমেন্টের মাধ্যমে নির্দিষ্ট রেকর্ডকে ইনডেক্স ব্যবহার করে পড়তে পারেন।
১.১ READ স্টেটমেন্টের গঠন
READ file-name INTO record-name
KEY IS key-value
INVALID KEY
DISPLAY 'Record not found.'
NOT INVALID KEY
DISPLAY 'Record read successfully.'
END-READ.file-name: ফাইলের নাম।record-name: রেকর্ড যেখানে ডেটা পড়তে হবে।key-value: রেকর্ডের কী (Index) যা দিয়ে আপনি নির্দিষ্ট রেকর্ড খুঁজে পাবেন।INVALID KEY: যদি নির্দিষ্ট কী দিয়ে রেকর্ড পাওয়া না যায়, তবে এটি কার্যকর হবে।NOT INVALID KEY: যদি রেকর্ড পাওয়া যায়, তবে এটি কার্যকর হবে।
১.২ READ স্টেটমেন্টের উদাহরণ
READ employee-file INTO employee-record
KEY IS employee-id
INVALID KEY
DISPLAY 'Employee not found.'
NOT INVALID KEY
DISPLAY 'Employee details: ' employee-record
END-READ.এখানে, employee-file থেকে employee-id কী দিয়ে রেকর্ড পড়া হচ্ছে এবং রেকর্ডটি পাওয়া গেলে তা প্রদর্শন করা হচ্ছে।
২. WRITE স্টেটমেন্ট
WRITE স্টেটমেন্ট ব্যবহার করা হয় Indexed File-এ নতুন রেকর্ড লিখতে। এই স্টেটমেন্টটি ইনডেক্স ফাইলের শেষের দিকে বা নির্দিষ্ট স্থানে রেকর্ড লিখে।
২.১ WRITE স্টেটমেন্টের গঠন
WRITE record-name
INVALID KEY
DISPLAY 'Error writing record.'
NOT INVALID KEY
DISPLAY 'Record written successfully.'
END-WRITE.record-name: যে রেকর্ডটি ফাইলে লেখা হবে।
২.২ WRITE স্টেটমেন্টের উদাহরণ
WRITE employee-record
INVALID KEY
DISPLAY 'Error writing employee record.'
NOT INVALID KEY
DISPLAY 'Employee record written successfully.'
END-WRITE.এখানে, employee-record Indexed File-এ লেখা হচ্ছে।
৩. REWRITE স্টেটমেন্ট
REWRITE স্টেটমেন্ট ব্যবহৃত হয় কোনো পূর্বের রেকর্ডকে আপডেট বা পুনরায় লেখার জন্য। এটি READ স্টেটমেন্টের পর ব্যবহার করা হয় এবং রেকর্ডের নতুন মানগুলি ফাইলে আপডেট করে।
৩.১ REWRITE স্টেটমেন্টের গঠন
REWRITE record-name
INVALID KEY
DISPLAY 'Error rewriting record.'
NOT INVALID KEY
DISPLAY 'Record rewritten successfully.'
END-REWRITE.record-name: যে রেকর্ডটি আপডেট বা পুনরায় লেখা হবে।
৩.২ REWRITE স্টেটমেন্টের উদাহরণ
READ employee-file INTO employee-record
KEY IS employee-id
INVALID KEY
DISPLAY 'Employee not found.'
NOT INVALID KEY
MOVE 'New Employee Name' TO employee-record-name
REWRITE employee-record
DISPLAY 'Employee record updated successfully.'
END-READ.এখানে, employee-record পুনরায় লেখা হচ্ছে নতুন মান দিয়ে employee-id এর ভিত্তিতে।
৪. DELETE স্টেটমেন্ট
DELETE স্টেটমেন্ট ব্যবহার করা হয় Indexed File থেকে কোনো রেকর্ড মুছতে। এটি ফাইলের রেকর্ডকে স্থায়ীভাবে মুছে ফেলে।
৪.১ DELETE স্টেটমেন্টের গঠন
DELETE record-name
INVALID KEY
DISPLAY 'Error deleting record.'
NOT INVALID KEY
DISPLAY 'Record deleted successfully.'
END-DELETE.record-name: যে রেকর্ডটি মুছে ফেলা হবে।
৪.২ DELETE স্টেটমেন্টের উদাহরণ
READ employee-file INTO employee-record
KEY IS employee-id
INVALID KEY
DISPLAY 'Employee not found.'
NOT INVALID KEY
DELETE employee-record
DISPLAY 'Employee record deleted successfully.'
END-READ.এখানে, employee-record মুছে ফেলা হচ্ছে employee-id এর ভিত্তিতে।
৫. Indexed Files এর সুবিধা
- দ্রুত ডেটা অনুসন্ধান: Indexed File ব্যবহারে দ্রুত ডেটা অনুসন্ধান করা সম্ভব, কারণ ফাইলের মধ্যে ইনডেক্স ব্যবহার করে রেকর্ডের অবস্থান দ্রুত খুঁজে বের করা যায়।
- ডেটা আপডেট এবং ডিলিট সুবিধা: ফাইলের মধ্যে ডেটা আপডেট এবং মুছে ফেলা অনেক সহজ হয়।
- ফাইলের নির্দিষ্ট অংশে অ্যাক্সেস: ইনডেক্সের মাধ্যমে আপনি নির্দিষ্ট রেকর্ডগুলো দ্রুত অ্যাক্সেস করতে পারেন, যা সাধারণ সিকোয়েন্সিয়াল ফাইলের চেয়ে দ্রুত।
সারসংক্ষেপ
COBOL-এ Indexed Files ফাইল ব্যবস্থাপনার জন্য একটি শক্তিশালী কৌশল যা READ, WRITE, REWRITE, এবং DELETE স্টেটমেন্ট ব্যবহার করে ডেটা প্রক্রিয়া করতে সক্ষম। READ স্টেটমেন্ট দিয়ে ফাইল থেকে রেকর্ড পড়া যায়, WRITE দিয়ে নতুন রেকর্ড লেখা হয়, REWRITE দিয়ে পূর্বের রেকর্ড আপডেট করা যায় এবং DELETE দিয়ে ফাইল থেকে রেকর্ড মুছে ফেলা যায়। এই ফিচারগুলি ব্যবহার করে প্রোগ্রামগুলো দ্রুত এবং কার্যকরীভাবে ডেটা ম্যানিপুলেশন করতে পারে।
COBOL এ Indexed Files এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি
Indexed Files COBOL-এ ব্যবহৃত একটি গুরুত্বপূর্ণ ডেটা স্টোরেজ প্রযুক্তি যা ফাইলের মধ্যে নির্দিষ্ট কীগুলোর সাহায্যে দ্রুত অনুসন্ধান এবং অ্যাক্সেস নিশ্চিত করে। এটি সাধারণত বড় পরিমাণ ডেটা সঞ্চয় এবং দ্রুত ডেটা পুনরুদ্ধারের জন্য ব্যবহৃত হয়। Indexed Files-এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি করার সময় বিভিন্ন রেকর্ডকে একটি নির্দিষ্ট কীর মাধ্যমে অ্যাক্সেস করা হয়, যা ফাইলের মধ্যে খুঁজে পাওয়া যায়।
COBOL-এ Indexed File তৈরি এবং ডেটা প্রক্রিয়া করার জন্য মূলত INDEXED, KEY, FILENAME, READ, WRITE, REWRITE, এবং DELETE স্টেটমেন্টগুলি ব্যবহৃত হয়। এখানে একটি Indexed File তৈরি এবং তার মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন ব্যবহার করার উদাহরণ দেওয়া হলো।
উদাহরণ: Indexed File ডেটাবেস অ্যাপ্লিকেশন
এই উদাহরণে, আমরা একটি Indexed File তৈরি করব যেখানে গ্রাহকদের তথ্য (যেমন গ্রাহক আইডি, নাম এবং বয়স) সঞ্চয় করা হবে। গ্রাহক আইডি (Customer ID) এখানে মূল কী (key) হিসেবে ব্যবহার করা হবে, যার মাধ্যমে আমরা দ্রুত গ্রাহকদের তথ্য অনুসন্ধান করতে পারব।
ফাইল ডেফিনিশন এবং Indexed File তৈরি:
IDENTIFICATION DIVISION.
PROGRAM-ID. IndexedFileExample.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-RECORD.
05 CUSTOMER-ID PIC 9(4).
05 CUSTOMER-NAME PIC X(30).
05 CUSTOMER-AGE PIC 99.
WORKING-STORAGE SECTION.
01 END-FILE PIC X VALUE 'N'.
01 KEY-VALUE PIC 9(4).
PROCEDURE DIVISION.
OPEN I/O CUSTOMER-FILE
PERFORM MENU
CLOSE CUSTOMER-FILE
STOP RUN.
MENU.
DISPLAY "Choose an option:"
DISPLAY "1. Add new customer"
DISPLAY "2. Read customer by ID"
DISPLAY "3. Exit"
ACCEPT KEY-VALUE
IF KEY-VALUE = 1
PERFORM ADD-CUSTOMER
ELSE IF KEY-VALUE = 2
PERFORM READ-CUSTOMER
ELSE
MOVE 'Y' TO END-FILE
END-IF.
ADD-CUSTOMER.
DISPLAY "Enter Customer ID: "
ACCEPT CUSTOMER-ID
DISPLAY "Enter Customer Name: "
ACCEPT CUSTOMER-NAME
DISPLAY "Enter Customer Age: "
ACCEPT CUSTOMER-AGE
WRITE CUSTOMER-RECORD
DISPLAY "Customer added successfully."
READ-CUSTOMER.
DISPLAY "Enter Customer ID to search: "
ACCEPT CUSTOMER-ID
READ CUSTOMER-FILE
KEY IS CUSTOMER-ID
AT END
DISPLAY "Customer not found."
NOT AT END
DISPLAY "Customer Name: " CUSTOMER-NAME
DISPLAY "Customer Age: " CUSTOMER-AGE
END-READ.ব্যাখ্যা:
- FILE SECTION:
- CUSTOMER-FILE: Indexed File এর জন্য ফাইল ডিফাইন করা হয়েছে।
- CUSTOMER-RECORD: গ্রাহকের আইডি, নাম এবং বয়স ধারণ করার জন্য রেকর্ড ডিফাইন করা হয়েছে।
- WORKING-STORAGE SECTION:
- END-FILE: ব্যবহারকারী যখন প্রোগ্রাম বন্ধ করতে চায়, তখন এই ভেরিয়েবলটি চেক করা হবে।
- KEY-VALUE: ব্যবহারকারীর ইনপুটের জন্য একটি ভেরিয়েবল যা বিভিন্ন অপশন চিহ্নিত করবে (যেমন নতুন গ্রাহক যোগ করা বা গ্রাহক অনুসন্ধান করা)।
- PROCEDURE DIVISION:
- OPEN I/O CUSTOMER-FILE: ফাইলটি ইনপুট/আউটপুট মোডে খোলা হয়েছে, যাতে ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখা যায়।
- ADD-CUSTOMER: নতুন গ্রাহক যোগ করার জন্য একটি প্রক্রিয়া তৈরি করা হয়েছে। গ্রাহক আইডি, নাম, এবং বয়স ইনপুট নেয়ার পর ফাইলে লেখা হবে।
- READ-CUSTOMER: গ্রাহক অনুসন্ধানের জন্য একটি প্রক্রিয়া তৈরি করা হয়েছে। ইনপুট গ্রাহক আইডি দিয়ে ফাইল থেকে সেই গ্রাহকের তথ্য অনুসন্ধান করা হবে।
- Indexed File:
- এখানে গ্রাহক আইডি CUSTOMER-ID হিসেবে ব্যবহৃত হয়েছে, যা ফাইলের মধ্যে গ্রাহকের রেকর্ড অনুসন্ধান করতে ব্যবহৃত হবে।
Indexed File ডেটাবেস অ্যাপ্লিকেশন সম্পর্কিত কিছু গুরুত্বপূর্ণ পয়েন্ট:
- ফাইল আর্কিটেকচার: Indexed File ফাইলের মধ্যে রেকর্ডগুলো কীগুলির ভিত্তিতে সাজানো থাকে, যাতে নির্দিষ্ট কীর মাধ্যমে দ্রুত এক্সেস করা যায়।
- কী ব্যবহার: COBOL-এ KEY নির্দেশক ব্যবহার করে ফাইলের মধ্যে সঠিক রেকর্ডে দ্রুত পৌঁছানো সম্ভব।
- ফাইল ম্যানিপুলেশন:
- READ: ফাইল থেকে রেকর্ড পড়ার জন্য ব্যবহৃত হয়, যেখানে KEY IS স্টেটমেন্টের মাধ্যমে কী ব্যবহার করা হয়।
- WRITE: নতুন রেকর্ড লেখার জন্য ব্যবহৃত হয়।
- REWRITE: বিদ্যমান রেকর্ড আপডেট করার জন্য ব্যবহৃত হয়।
- DELETE: রেকর্ড মুছে ফেলার জন্য ব্যবহৃত হয়।
সারসংক্ষেপ
COBOL-এ Indexed Files এর মাধ্যমে ডেটাবেস অ্যাপ্লিকেশন তৈরি একটি গুরুত্বপূর্ণ পদ্ধতি, যা ডেটার দ্রুত অনুসন্ধান এবং কার্যকরীভাবে ডেটা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। KEY এবং INDEXED FILE ব্যবহার করে বিভিন্ন রেকর্ড দ্রুত সনাক্ত করা যায় এবং প্রয়োজন অনুসারে তা ম্যানিপুলেট করা সম্ভব। COBOL-এর Indexed Files ডেটাবেস অ্যাপ্লিকেশন তৈরির ক্ষেত্রে খুবই কার্যকরী, বিশেষ করে যখন ডেটা বড় আকারে থাকে এবং দ্রুত প্রবেশাধিকার প্রয়োজন হয়।
Read more